﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NHibernate.Mappings;

namespace Apollo
{
    [NHibernateEntity(Table = "Taxes", Lazy = true)]
    public class Tax : ITrackable, IHistory<Tax>
    {
        public Tax() { }

        [PrimaryKey]
        public virtual int Id { get; set; }

        [Property]
        public virtual string Name { get; set; }

        [Property]
        public virtual double PercentValue { get; set; }

        [Property]
        public virtual double FixedValue { get; set; }



        [BelongsTo(Column = "ID_BelonsTo_Tax")]
        public virtual Tax BelongsTo { get; set; }

        [Property]
        public virtual DateTime EffectiveDate { get; set; }

        [Property]
        public virtual DateTime LearnDate { get; set; }

        [Property]
        public virtual State State { get; set; }



        [Property]
        public virtual DateTime InsertDate { get; set; }

        [Property]
        public virtual string InsertBy { get; set; }

        [Property]
        public virtual DateTime? ModifiedDate { get; set; }

        [Property]
        public virtual string ModifiedBy { get; set; }
    }
}
